package com.naiterui.ehp.bs.im.repository.mongo;

import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;

import com.naiterui.ehp.bs.im.network.protocl.Replay;

/**
 * 自动回复DB操作类
 * @author He Qiang
 * @since 1.0.0
 */
@Repository
public class ReplayDao extends MongoBaseDao {

    /**
     * 保存自动回复 mongodb conllection name
     */
    private static final String COLLECTION_NAME_REPLAY = "m_replay";

    /**
     * 插入或 修改自动回复
     * @Author He Qiang
     * @Date 2015年12月1日
     * @since 1.0.0
     * @param replay
     */
    public void upsert(Long userId, String content, int status) {
        Query query = new Query(Criteria.where("userId").is(userId));
        Update update = new Update();
        update.set("status", status);
        update.set("content", content);

        super.upsert(query, update, COLLECTION_NAME_REPLAY);
    }

    /**
     * 查询自动 回复
     * @Author He Qiang
     * @Date 2015年12月1日
     * @since 1.0.0
     * @param userId
     * @return 自动回复消息
     */
    public Replay findReplay(Long userId) {
        Query query = new Query(Criteria.where("userId").is(userId));
        Replay replay = super.findOne(query, Replay.class, COLLECTION_NAME_REPLAY);

        return replay;
    }

}
